<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        /*var arr = new Array();
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;*/
        var arr = [1,2,3,4,5,6];
        console.log("原数组" + arr);

        arr.push(7);//入栈
        console.log("push(7)后" + arr);

        arr.pop();//出栈
        console.log("pop()后" + arr);

        arr.shift();//删除并返回第一个元素
        console.log("shift()" + arr);

        arr.unshift(1,2,2);//在数组前面插入一个或多个元素
        console.log("shift()" + arr);

        arr.splice(1,3,[9,9]);//从索引1的位置开始，将三个元素替换为[9,9]；但是注意arr.splice(1,3,[9,9]);跟arr.splice(1,3,9,9);效果是不一样的，具体参见arr1跟arr2的例子，其现象对于其他数组操作是一样的
        console.log("splice()后" + arr)

        var arr1 = [1,2,3];
        arr1.splice(0,1,2,2);
        console.log("arr1第一个元素是数字" + arr1[0]);//第一个元素是数字2

        var arr2 = [1,2,3];
        arr2.splice(0,1,[2,2]);
        console.log("arr2第一个元素是一个数组" + arr2[0]);//第一个元素是一个数组

        //数组排序
        var arr3 = [6,8,1,3,4];
        arr3.sort();//默认排序，升序
        console.log(arr3);
        function sortNumber(a,b){
            //我理解在我们自定义的排序函数被调用时，a应该是原先排在前面的值，b是最新的值，a-b若大于0，则表明新的值更小，则新的值被提到前面（因为sort默认是升序排）
            //所以如果想降序排，则应该return b-a;而return a-b其实就跟默认排序结果一样
            return  b - a;
        }
        arr3.sort(sortNumber);
        console.log(arr3);
    </script>
</head>
<body>

</body>
</html>